= Jenkinsfile Runner Docker Images

https://hub.docker.com/r/jenkins/jenkinsfile-runner[image:https://img.shields.io/docker/pulls/jenkins/jenkinsfile-runner?label=docker%20pulls%20%28vanilla%29[Docker pulls]]

This directory includes the Docker images for Jenkinsfile Runner (JFR) which are a part of the
main Jenkinsfile Runner repository.

Starting from JFR 1.0-beta-15,
all images in this repository are based on [Eclipse Temurin](https://projects.eclipse.org/projects/adoptium.temurin)
and published as [ghcr.io/jenkinsci/jenkinsfile-runner](https://github.com/orgs/jenkinsci/packages?repo_name=jenkinsfile-runner) on GitHub Packages.
At the moment, official packages include only Linux-based distributions (Ubuntu, Debian and Alpine).
There are also prototype Windows images that can be built manually.
Images for other platforms and JDKs may be added upon a pull request,
contributions are welcome!

== Naming/Tag conventions

Folders in the repository represent the tag that will be assigned in DockerHub.
The following format is used:

[source,bash]
----
${JVM_VENDOR}-${JAVA_VERSION}[-${JVM_CLASSIFIER1}][-${JVM_CLASSIFIER2}]...[-${OS}]
----

Examples: `eclipse-temurin-11-jre`, `eclipse-temurin-11-jre-alpine`

* `JVM_VENDOR` - source of the JVM in lowercase, e.g. Eclipse Temurin.
* `JAVA_VERSION` - version of the JVM.
  Right now `11` are used, fine-grain versions might be added in the future.
* `JVM_CLASSIFIER` - Additional information about the JVM used in the image.
  It might refer to `jdk`/`jre` or a JVM type (e.g. `jre-alpine`, `openj9`).
  Multiple classifiers might be used.
  Optional, defaults to the upstream image defaults.
* `OS` - Information about the operating system (e.g. `alpine`, `debian`, `buster`).
  Optional, defaults to the upstream image defaults.

Naming convention and defaults for generic tags like `latest` may change over time.

== Building images locally

See the link:/CONTRIBUTING.adoc#building-docker-images[Contributing guidelines].
